1. Field of the Invention
The field of the invention is data processing, or, more specifically, methods, systems, and products for operation of dynamic server page engines.
2. Description of Related Art
Dynamic server pages comprise dynamic content. Dynamic content is, for example, in the case of the World Wide Web, web page content that includes the usual static content such as display text and markup tags, and, in addition, executable program content. Executable program content includes, for example, Java, VBScript, CGI gateway scripting, PHP script, and Perl code. The kind of executable program content found in any particular dynamic server page depends on the kind of dynamic server page engine that is intended to render the executable program content. For example, Java is typically used in Java Server Pages (“JSPs”) for Java Server Page engines (sometime referred to in this disclosure as “JSP engines”); VBScript is used in Active Server Pages (“ASPs”) for Microsoft Active Server Page engines (sometime referred to in this disclosure as “ASP engines”); and PHP script, a language based on C, C++, Perl, and Java, is used in PHP pages for PHP: Hypertext Preprocessor engines.
JSPs compile into servlets, and servlets are expressed in Java. ‘Servlets’ are Java programs that run on a server, as opposed to a browser, where Java programs running in browsers are referred to as ‘applets.’ Detailed information about servlets can be found on Sun Microsystems' website. In fact, many JSP engines are themselves implemented as Java servlets. Detailed information about JSPs can be found on Sun Microsystems' website. ‘Java,’ ‘Java Server Pages,’ and ‘JSP’ are trademarks of Sun Microsystems, Inc.
There are several kinds of dynamic server page engines, each of which typically is capable of rendering only one kind of dynamic server page, in each case, of course, it is the particular kind of dynamic server page for which the engine was developed in the first place. JSP engines render JSPs. ASP engines render ASPs. PHP engines render PHP pages. And so on. In some cases, however, the fact that engines only render a single kind of dynamic server page is a problem.
Consider, for example, the case of Java Server Page engines. With the arrival of Java and its related benefits, many companies that formerly ran, as dynamic server pages, Microsoft Active Server Pages (“ASPs”) using VBScript are making a useful but difficult transition to Java Server Pages (“JSPs”) using the Java language. This transition is often accomplished by programmers experienced in VBScript or Visual Basic but less experienced in Java. In current art, a transition to a Java platform requires use of separate server page engines which cannot run ASPs and JSPs simultaneously. A web server in current technology has difficulty distinguishing ASPs and JSPs by inspecting file content because the markup tags in both types of dynamic server page are very similar, one reason no doubt why web servers generally are not programmed to distinguish dynamic server pages on the basis of content inspections.
In fact, in many cases the markup tags for the two types of dynamic content, JSP and ASP, are identical, although their program content is quite different. ASP engines will not execute or render correctly JSPs. It is cumbersome to make a large migration to JSPs and Java servlets from a totally ASP-based architecture. Alternatively, companies may use separate test servers or separate ports and careful alternate routing to try to assure that that no JSP program content exists on the same pages with ASP programming. For all these reasons, it would be advantageous to have a way to mix JSP and ASP dynamic content in the same dynamic server page, a new kind of dynamic server page, a ‘meta-page,’ as it were. To do so, it would be useful to have a new kind of dynamic server page engine, an engine that could accept and somehow render, to a static output, inputs of any kind of dynamic content. Such an engine could be referred to as a ‘meta-engine.’